libvirt - The virtualization API

libvirt is a toolkit to interact with the virtualization
capabilities of recent versions of Linux (and other OSes).

Most optional dependencies are autodetected and having the required
libs in place will build the respective features automatically.

The user and group can be specified at build time like this:
VIRTUSER=someuser VIRTGROUP=someuser ./libvirt.SlackBuild
(default is VIRTUSER=root VIRTGROUP=users)
You'll want to keep this in sync with what qemu uses
(it also defaults to these)

If you want to start the libvirt daemon at boot, add this
to /etc/rc.d/rc.local

  # Start libvirt:
  if [ -x /etc/rc.d/rc.libvirt ]; then
    /etc/rc.d/rc.libvirt start
  fi

and if you want it to stop at shutdown add this to
/etc/rc.d/rc.local_shutdown

  # Stop libvirt:
  if [ -x /etc/rc.d/rc.libvirt ]; then
    /etc/rc.d/rc.libvirt stop
  fi

The enclosed rc.libvirt script will do a 'managedsave' on all running
and paused guests when issuing 'rc.libvirt stop'. Please note that
this saves the RAM of each guest to the host system's disk (by default
under /var/lib/libvirt/qemu/save) - so make sure enough space is
available. If you prefer to perform a full shutdown on all running
guests instead, issue a 'rc.libvirt guests_shutdown' followed by
'rc.libvirt shutdown'.

By default 'rc.libvirt stop' and 'rc.libvirt guests_shutdown' will
wait a maximum of 5 minutes for all guests to shutdown, after which
any guests still running will be destroyed. Adjust this to a suitable
value for your system, as destroying a running guest carries a high
risk of data loss!

There is also a 'guests_reboot' for rebooting all running guests.

Have a look at the commented part of rc.libvirt for some gotchas.

netcat-openbsd is an optional dependency (needed if you
want to connect from a remote host using virt-manager).
Other optional dependencies include avahi, xen, audit, glusterfs,
numactl, open-iscsi and libiscsi.

As of the 4.5.0 version, you may have to remove any previously 
installed versions of libvirt before this will build.

Note also that sometimes, in consequence of a major-version upgrade,
you might discover that the libvirt configuration is in an inconsistent
state (machine networking broken and so on) and when this happens and a
simple reboot won't solve you might want to consider starting from a
clean state. To do this:
- backup the existing vms files and their configurations too (with
  "virsh dumpxml $name > ${name}.xml", check all the *dumpxml commands
  available with "virsh help")
- remove libvirt
- delete all system directories (/var/lib/libvirt, /var/log/libvirt,
  /etc/libvirt)
- install the new libvirt package, logout and login again (might help)
  and start the daemon
- recreate your configurations (network and so on)
- reimport the vms xml backups (with "virsh define ${name}.xml")
